package com.bestcem.xm.ticket.grpc.client.enums.survey;

import lombok.Getter;
import lombok.ToString;

/**
 * 答卷状态枚举
 *
 * @author zhangfeng <feng.zhang@idiaoyan.com>
 * @version v1.0
 * @date 2021/7/15 16:07
 */
@Getter
@ToString
public enum RespondentStatusEnum {
    /**
     * 进行中
     */
    BEGIN("进行中", 0),
    /**
     * 成功完成
     */
    FINISH("成功完成", 1),
    /**
     * 被甄别
     */
    SCREEN_OUT("被甄别", 2),
    /**
     * 配额满
     */
    QUOTA_FULL("配额满", 3),
    /**
     * 系统甄别
     */
    SYSTEM_SCREEN_OUT("系统甄别", 4),
    /**
     * 成功完成(隐藏)
     */
    HIDDEN("成功完成(隐藏)", 5),
    /**
     * 备用
     */
    BACKUP("备用", 6),
    /**
     * 废弃
     */
    DISCARD("废弃", 7),
    /**
     * 超额
     */
    OVERFULL("超额", 8),
    /**
     * 已打开
     */
    OPEN("已打开", 9),
    /**
     * 未完成
     */
    UNFINISHED("未完成", 10),
    /**
     * 彻底删除
     */
    DELETE("彻底删除", 107);

    private final String name;

    private final Integer index;

    RespondentStatusEnum(String name, int index) {
        this.name = name;
        this.index = index;
    }

    /**
     * 根据 index 获取枚举实体
     * 找不到则返回 null
     *
     * @param index 枚举index
     * @author zq.ding <zq.ding@idiaoyan.com>
     * @date 2021/8/31 13:35
     */
    public static RespondentStatusEnum getByIndex(Integer index) {
        for (RespondentStatusEnum value : values()) {
            if (value.getIndex().equals(index)) {
                return value;
            }
        }
        return null;
    }
}
